/*
 * DetectorConstruction.hh
 *
 *  Created on: 12.02.2011
 *      Author: ed
 */

#ifndef DETECTORCONSTRUCTION_HH_
#define DETECTORCONSTRUCTION_HH_
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
#include "TrackerSD.hh"
class DetectorConstruction : public G4VUserDetectorConstruction
{
public:
	DetectorConstruction(G4double R);
	DetectorConstruction(G4double R,G4double LAbs,G4double LSc);
	G4VPhysicalVolume* Construct();
	virtual ~DetectorConstruction();
	inline G4double GetRadius()
	{
		return sphereRadius;
	}
	void SetRadius(G4double radius);
	void SetMediumProperties(G4double LAbs,G4double LSc);
	static G4double GetSphereRadius(){return sphereRadius;}
	static G4double GetScaterringLength(){return lSc;}
	static G4double GetAbsorptionLength(){return lAbs;}
private:
	static G4double sphereRadius;
	G4double boxSide;
	static G4double lSc;
	static G4double lAbs;
	G4VPhysicalVolume *airBoxPhys, *aerogelSpherePhys;
	TrackerSD* trackerSD;
};

#endif /* DETECTORCONSTRUCTION_HH_ */
